/**
 * @author 善良的YWJ
 * @Created by shanliangdeYWJ on 2020/11/29 17:38:38
 * @file initTools.js
 * @description
 * ```js
 * 工具函数
 * ``` 
 * see {@link initTools}
 * ```js
 * initTools.digitalize(str) 
 * initTools.getTarget(ev) 
 * ```
 * see {@link initCompute}
 * ```js
 * initCompute.plus(2, 3)
 * initCompute.minus(2, 3)
 * initCompute.mul(2, 3)
 * initCompute.div(2, 3)
 * ```
 * @link [Github](https://github.com/shanliangdeYWJ)
 */

/**
 * 工具类
 * @namespace
 * @description
 * ```js
 * initTools.digitalize(str) 
 * initTools.getTarget(ev) 
 * ```
 */
var initTools = (function () {

    /**
     * 文字去除空格转化成数字
     * @method digitalize
     * @param {string} str 数字字符串 | 字符串
     * @return {number|0} 数字 | 0
     * @memberof initTools
     */
    function digitalize(str) {
        str = str || ''
        return Number(str.replace(/\s+/g, '')) || 0;
    }

    /**
     * 返回事件对象
     * @method getTarget
     * @param {event} ev 事件
     * @return {EventTarget} 事件对象
     * @memberof initTools
     */
    function getTarget(ev) {
        var e = ev || window.event;
        return e.target || e.srcElement;
    }

    return {
        digitalize: digitalize,
        getTarget: getTarget
    };
})();
/**
 * 工具类
 * @namespace
 * @description
 * ```js
 * initCompute.plus(2, 3)
 * initCompute.minus(2, 3)
 * initCompute.mul(2, 3)
 * initCompute.div(2, 3)
 * ```
 */
var initCompute = (function () {

    /**
     * 加法运算 加数 + 加数 = 和
     * @method plus
     * @param {number} a 加数
     * @param {number} b 加数
     * @return {number} 和
     * @memberof initCompute
     */
    function plus(a, b) { return a + b; };

    /**
     * 减法运算 被减数 - 被减数 = 差
     * @method minus
     * @param {number} a 被减数
     * @param {number} b 减数
     * @return {number} 差
     * @memberof initCompute
     */
    function minus(a, b) { return a - b; };

    /**
     * 乘法运算  因数 × 因数 = 积
     * @method mul
     * @param {number} a 因数
     * @param {number} b 因数
     * @return {number} 积
     * @memberof initCompute
     */
    function mul(a, b) { return a * b; };

    /**
     * 除法运算 被除数 ÷ 除数 = 商
     * @method div
     * @param {number} a 被除数
     * @param {number} b 除数
     * @return {number} 商
     * @memberof initCompute
     */
    function div(a, b) { return a / b; };

    return {
        plus: plus,
        minus: minus,
        mul: mul,
        div: div
    };
})();
